package com.eastfair.builder.service;

import com.eastfair.builder.entity.Exhibitor;
import com.eastfair.venueservice.dto.ExhibitionCompanyDTO;
import com.eastfair.venueservice.vo.ServiceProviderVO;

import java.util.List;

/**
 * 展会企业服务.
 *
 * @author dqq
 * @date 2022 /10/8
 */
public interface BuilderExhibitionCompanyService {

    /**
     * 保存展会企业.
     *
     * @param exhibitionCompanyDTO the exhibition company dto
     * @return the r
     */
    boolean saveExhibitionCompany(ExhibitionCompanyDTO exhibitionCompanyDTO);

    /**
     * 批量保存展会企业.
     *
     * @param list the list
     * @return the r
     */
    boolean saveBatch(List<ExhibitionCompanyDTO> list);

    /**
     * 服务商ID，展会ID删除展会企业.
     *
     * @param serviceProviderIds the service provider ids
     * @param exhibitionManageId the exhibition manage id
     * @return the r
     */
    boolean removeByServiceProviderId(List<Long> serviceProviderIds, Long exhibitionManageId);

    /**
     * 通过展商保存展会企业.
     *
     * @param exhibitor the exhibitor dto
     * @return the boolean
     */
    boolean saveByExhibitor(Exhibitor exhibitor);

    /**
     * 通过搭建商保存展会企业.
     *
     * @param serviceProvider the service provider
     * @param exhibitor       the exhibitor
     * @return the boolean
     */
    boolean saveByBuilder(ServiceProviderVO serviceProvider, Exhibitor exhibitor);
}